// $ANTLR 3.1.2 D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g 2009-06-01 11:44:10

package org.protege.owl.examples.tab.grammar;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class FOLStage1Lexer extends Lexer {
    public static final int COLON=10;
    public static final int WS=5;
    public static final int NEWLINE=4;
    public static final int HYPHEN=12;
    public static final int INT=8;
    public static final int SEMICOLON=11;
    public static final int ID=7;
    public static final int DOT=6;
    public static final int COMA=9;
    public static final int EOF=-1;

    // delegates
    // delegators

    public FOLStage1Lexer() {;} 
    public FOLStage1Lexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public FOLStage1Lexer(CharStream input, RecognizerSharedState state) {
        super(input,state);

    }
    public String getGrammarFileName() { return "D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g"; }

    // $ANTLR start "ID"
    public final void mID() throws RecognitionException {
        try {
            int _type = ID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:27:3: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:27:5: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
            {
            if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}

            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:27:28: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:
            	    {
            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
            	        input.consume();

            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;}


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "ID"

    // $ANTLR start "INT"
    public final void mINT() throws RecognitionException {
        try {
            int _type = INT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:29:4: ( ( '1' .. '9' ) ( '0' .. '9' )* )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:29:6: ( '1' .. '9' ) ( '0' .. '9' )*
            {
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:29:6: ( '1' .. '9' )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:29:7: '1' .. '9'
            {
            matchRange('1','9'); 

            }

            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:29:16: ( '0' .. '9' )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:29:17: '0' .. '9'
            	    {
            	    matchRange('0','9'); 

            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "INT"

    // $ANTLR start "DOT"
    public final void mDOT() throws RecognitionException {
        try {
            int _type = DOT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:31:4: ( '.' )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:31:6: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "DOT"

    // $ANTLR start "COMA"
    public final void mCOMA() throws RecognitionException {
        try {
            int _type = COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:33:5: ( ',' )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:33:7: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "COMA"

    // $ANTLR start "COLON"
    public final void mCOLON() throws RecognitionException {
        try {
            int _type = COLON;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:35:6: ( ':' )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:35:8: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "COLON"

    // $ANTLR start "SEMICOLON"
    public final void mSEMICOLON() throws RecognitionException {
        try {
            int _type = SEMICOLON;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:37:10: ( ';' )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:37:12: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "SEMICOLON"

    // $ANTLR start "HYPHEN"
    public final void mHYPHEN() throws RecognitionException {
        try {
            int _type = HYPHEN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:39:7: ( '-' )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:39:9: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "HYPHEN"

    // $ANTLR start "NEWLINE"
    public final void mNEWLINE() throws RecognitionException {
        try {
            int _type = NEWLINE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:41:8: ( ( '\\r' )? '\\n' )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:41:9: ( '\\r' )? '\\n'
            {
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:41:9: ( '\\r' )?
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0=='\r') ) {
                alt3=1;
            }
            switch (alt3) {
                case 1 :
                    // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:41:9: '\\r'
                    {
                    match('\r'); 

                    }
                    break;

            }

            match('\n'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "NEWLINE"

    // $ANTLR start "WS"
    public final void mWS() throws RecognitionException {
        try {
            int _type = WS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:43:4: ( ( ' ' | '\\t' | '\\n' | '\\r' ) )
            // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:43:6: ( ' ' | '\\t' | '\\n' | '\\r' )
            {
            if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
                input.consume();

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
    // $ANTLR end "WS"

    public void mTokens() throws RecognitionException {
        // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:8: ( ID | INT | DOT | COMA | COLON | SEMICOLON | HYPHEN | NEWLINE | WS )
        int alt4=9;
        alt4 = dfa4.predict(input);
        switch (alt4) {
            case 1 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:10: ID
                {
                mID(); 

                }
                break;
            case 2 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:13: INT
                {
                mINT(); 

                }
                break;
            case 3 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:17: DOT
                {
                mDOT(); 

                }
                break;
            case 4 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:21: COMA
                {
                mCOMA(); 

                }
                break;
            case 5 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:26: COLON
                {
                mCOLON(); 

                }
                break;
            case 6 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:32: SEMICOLON
                {
                mSEMICOLON(); 

                }
                break;
            case 7 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:42: HYPHEN
                {
                mHYPHEN(); 

                }
                break;
            case 8 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:49: NEWLINE
                {
                mNEWLINE(); 

                }
                break;
            case 9 :
                // D:\\Projekty\\Protege4Workspace\\org.protege.editor.owl.examples.tab\\src\\org\\protege\\owl\\examples\\tab\\grammar\\FOLStage1.g:1:57: WS
                {
                mWS(); 

                }
                break;

        }

    }


    protected DFA4 dfa4 = new DFA4(this);
    static final String DFA4_eotS =
        "\10\uffff\1\12\3\uffff";
    static final String DFA4_eofS =
        "\14\uffff";
    static final String DFA4_minS =
        "\1\11\7\uffff\1\12\3\uffff";
    static final String DFA4_maxS =
        "\1\172\7\uffff\1\12\3\uffff";
    static final String DFA4_acceptS =
        "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\10\1\11\1\10";
    static final String DFA4_specialS =
        "\14\uffff}>";
    static final String[] DFA4_transitionS = {
            "\1\12\1\11\2\uffff\1\10\22\uffff\1\12\13\uffff\1\4\1\7\1\3"+
            "\2\uffff\11\2\1\5\1\6\5\uffff\32\1\4\uffff\1\1\1\uffff\32\1",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\13",
            "",
            "",
            ""
    };

    static final short[] DFA4_eot = DFA.unpackEncodedString(DFA4_eotS);
    static final short[] DFA4_eof = DFA.unpackEncodedString(DFA4_eofS);
    static final char[] DFA4_min = DFA.unpackEncodedStringToUnsignedChars(DFA4_minS);
    static final char[] DFA4_max = DFA.unpackEncodedStringToUnsignedChars(DFA4_maxS);
    static final short[] DFA4_accept = DFA.unpackEncodedString(DFA4_acceptS);
    static final short[] DFA4_special = DFA.unpackEncodedString(DFA4_specialS);
    static final short[][] DFA4_transition;

    static {
        int numStates = DFA4_transitionS.length;
        DFA4_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA4_transition[i] = DFA.unpackEncodedString(DFA4_transitionS[i]);
        }
    }

    class DFA4 extends DFA {

        public DFA4(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 4;
            this.eot = DFA4_eot;
            this.eof = DFA4_eof;
            this.min = DFA4_min;
            this.max = DFA4_max;
            this.accept = DFA4_accept;
            this.special = DFA4_special;
            this.transition = DFA4_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( ID | INT | DOT | COMA | COLON | SEMICOLON | HYPHEN | NEWLINE | WS );";
        }
    }
 

}